1. Field of the Invention
The invention generally relates to analyzing data transferred between a serial interface device and a plurality of other serial devices coupled thereto. More specifically, the invention relates to passively analyzing data through a test interface situated with either a Serial Attached SCSI (SAS) device or a Serial Advanced Technology Attachment (SATA) device. SCSI, as is known by those skilled in the art, represents Small Computer Systems Interface.
2. Related Patents
This application is related to U.S. patent application Ser. No. 10/423,081 entitled Systems and Methods for Analyzing Data of an SPI Data Bus (filed Apr. 25, 2003, herewith), which is incorporated herein by reference.
3. Discussion of the Related Art
A serial device is a device that serially transmits and receives data. Such serial communications are generally over a single bit wide communication medium such that each data bit to be exchanged is transferred in sequence and received in sequence. Serial communications may be applied to a number of communication media including conductive wire media as well as optical media such as fiber optic communication links. Further, such serial communications may be performed over wireless connections using, for example, light and other electromagnetic transmission techniques such as radio frequency and microwave frequency transmissions.
Examples of a serial device common in computing and storage applications may include an SAS device and an SATA device. An SAS device is a device that operates according to an SAS specification, such as SAS Revision 03-f. An SATA device also operates in accordance with the SAS specification. The SAS specification contains specifications for physical layers that are compatible with Serial ATA. The SAS specification also contains specifications of protocols for transporting SCSI commands to SAS devices and for transporting ATA commands to SATA devices. Such specifications are generally available from: http://www.t10.org. As used herein SAS and SATA shall be referred to as SAS/SATA.
An SAS/SATA device typically communicates to other devices through a plurality of on-board physical interfaces. The physical interface level is often referred to by a number of standard terms in the art—including simply “physical layer”, or “PHY” In SAS/SATA standards, a logical layer of protocols includes the so-called PHY. Each PHY is configured for passing data between the SAS/SATA device and another device coupled thereto. As used herein, “physical layer”, “PHY” or “PHY layer” all refer to a protocol layer that uses a physical transmission medium used for electronic communication including, but not limited to, the PHY layer as specified in the SAS/SATA standards.
It is often useful to monitor data transfers over the PHY layer of an SAS/SATA device because data transfer and protocol errors in a design can often be debugged by monitoring the transfers. It is common to apply external monitoring devices to the PHY communication medium to monitor the data transfers thereon. Examples of such external monitoring devices include general purpose logic analyzers or special purpose communication analyzers that probe the PHY communication medium and monitor the transfers.
High speed data transfers through communication media associated with various PHYs often require precise signal timing. Timing errors, or skew, of the signals or other noise can cause, inter alia, incorrect transfers resulting in eventual data corruption. External analyzers are often connected “inline” to the communication medium of a PHY under analysis to view the data passing through the PHY communication medium. In other instances, the analyzer may couple to the data bus of the PHY with a probe that “taps” into the data passing through the bus. For example, one analyzer probe electrically couples to one PHY communication medium when analysis of that associated PHY is desired. When analysis of data through another PHY is desired, the probe is physically moved to the other PHY.
Connecting such external analyzers to probe the data passing through the communication medium often alters impedance characteristics (e.g., loading) to the PHYs due, in part, to additive capacitance and/or additive resistance. These altered impedance characteristics can degrade signal timing and signal quality such that analysis of the data is no longer valid or useful. For example, once an analyzer probe is electrically coupled to a particular PHY communication medium, the probe changes the characteristic impedance and subsequently alters the timing of the data passing through the PHY. Since the probe creates artificial timing errors, use of the analyzer probe may alter the problem originally being investigated. In some instances, the probe “masks”, or eliminates, a timing error so that the error goes undetected altogether.
Other problems associated with external probing of the PHYs include physical manipulation of the probes. Each time analysis of a different PHY is desired; the probe must be disconnected from one communication medium and connected to another. This physical manipulation of the probe can physically stress the components and may eventually damage the components of the communication medium or its associated PHY interface. Moreover, physical manipulation of probes is simply cumbersome and time consuming.
It is evident from the above discussion that there is an ongoing need to provide improved methods and structures for analyzing data transferred between PHYs of a SAS/SATA device and a plurality of devices coupled thereto.